package com.oliet.service;

import com.oliet.common.dto.role.CreateRoleDTO;
import com.oliet.common.dto.role.UpdateRoleDTO;
import com.oliet.common.vo.page.PageVO;
import com.oliet.common.vo.role.RoleVO;
import com.oliet.entity.Roles;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author JZP
 * @since 2023-11-26
 */
public interface RolesService extends IService<Roles> {

    /**
     * 创建角色
     *
     * @param param
     */
    void create(CreateRoleDTO param);

    /**
     * 更新角色
     * @param param
     */
    void update(UpdateRoleDTO param);

    /**
     * 校验角色名称是否存在
     *
     * @param roleName
     */
    void verifyRoleName(String roleName);

    /**
     * 查询列表
     *
     * @param pageNo
     * @param pageSize
     * @param search
     * @return
     */
    PageVO<RoleVO> pageList(Long pageNo, Long pageSize, String search);

    /**
     * 查询详情
     *
     * @param id
     * @return
     */
    RoleVO info(Long id);

    void deleteById(Long id);
}
